package bb.lanxing.calc.processer.i;

import bb.lanxing.calc.data.DisplayPoint;
import bb.lanxing.calc.data.SourcePoint;
import bb.lanxing.model.database.Workout;

public interface IWorkoutProcessor {
    void init(String uuid);

    void init();

    void init(int[] dataTypes);

    void init(int[] dataTypes, Workout lastWorkout,String uuid);

    void init(int[] dataTypes, Workout lastWorkout);

    void initCalc();

    void initConfigs();

    void updateConfigs(String key, Object value);

    void releaseCalc();

    void release();

    DisplayPoint process(SourcePoint sourcePoint);

    void flushPoint(boolean sync);

    void storePoint(SourcePoint sourcePoint);

    void calcPoint(SourcePoint sourcePoint);

    void calcWorkout(SourcePoint sourcePoint);

    boolean checkPoint(SourcePoint sourcePoint);

    void filterPoint(boolean filter);

    Workout getWorkout();

    void pauseSportByUser(boolean pause);
}